import Vue from 'vue'
import Vuex from 'vuex'
import storage from '@/utils/storage'
Vue.use(Vuex)

export default new Vuex.Store({
  state: {
    // token需要存在vuex中，因为之后有好多组件都需要用到，要共享数据
  //  从本地取token
    // 网页刷新时:token，和refresh_token无值，因此需要从本地里取，如果本地没有，就返回一个空
    token: storage.getItem('token') || '',
    // 用来刷新token的
    refresh_token: storage.getItem('refresh_token') || '',
    user: {}// 用户基本资料
  },
  mutations: {
    // 需要给token赋值（修改token）要在mutations中写
    setToken (state, token) {
      // token:获取到的token
      state.token = token
      // 保存到本地
      storage.setItem('token', token)
    },
    // 更新token
    refreshToken (state, refreshToken) {
      // token:获取到的token
      state.refresh_token = refreshToken
      // 保存到本地
      storage.setItem('refresh_token', refreshToken)
    },
    // 设置用户信息
    setUser (state, user) {
      state.user = user
    },
    // 更新头像
    updatePhoto (state, photo) {
      state.user.photo = photo
      console.log(state.photo)
    },
    // 更新用户名
    updateName (state, name) {
      state.user.name = name
      console.log(state.name)
    }

  },
  actions: {
  },
  modules: {
  }
})
